A classical computer operates by processing binary bits of information that change state according to the laws of classical physics. These information bits can be modified by using simple logic gates such as AND and OR gates. The binary bits are physically created by a high or a low signal level occurring at the output of the logic gate to represent either a logical one (e.g., high voltage) or a logical zero (e.g., low voltage). A classical algorithm, such as one that multiplies two integers, can be decomposed into a long string of these simple logic gates. Like a classical computer, a quantum computer also has bits and gates. Instead of using logical ones and zeroes, a quantum bit (“qubit”) uses quantum mechanics to occupy both possibilities simultaneously. This ability and other uniquely quantum mechanical features enable a quantum computer can solve certain problems exponentially faster than that of a classical computer.
Quantum annealing is an alternate computing methodology that uses quantum effects to solve optimization problems. Quantum annealing operates by initializing qubits into a quantum-mechanical superposition of all possible qubit states, referred to as candidate states, with equal probability amplitudes. This is implemented by applying a strong transverse field Hamiltonian to the qubits. The computer then evolves following the time-dependent Schrödinger equation as the transverse field Hamiltonian is decreased and the problem Hamiltonian is turned on. In some variants of quantum annealing a driver Hamiltonian is applied at intermediate times. During this evolution, the probability amplitudes of all candidate states keep changing, realizing quantum parallelism. If the rates of change of the Hamiltonians are slow enough, the system stays close to the ground state of the instantaneous Hamiltonian. At the end of the evolution the transverse field is off, and the system is expected to have reached a ground or other lower energy state of the problem Hamiltonian, with high probability. The problem Hamiltonian typically encodes the solution of a constraint satisfaction or other optimization problem as the ground state of an associated Ising model. Thus, at the end of the evolution, the quantum annealing computing system generates the solution or an approximate solution to the target optimization problem.